package com.api.demo.dto.sync;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.URL;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @description: 同步订单明细DTO
 * @author: yanming
 * @createDate: 2022/10/04 10:29
 */
@Data
@ApiModel(description = "同步订单明细DTO")
public class SyncDataOrderInfoDTO implements Serializable {


    private static final long serialVersionUID = -3708335629374617837L;
    @ApiModelProperty(value = "订单详细ID", required = true)
    @NotNull(message = "订单详细ID不能为空")
    private String orderInfoId;

    @ApiModelProperty(value = "姓名", required = true)
    @NotBlank(message = "姓名不能为空")
    private String name;

    @ApiModelProperty(value = "手机号", required = true)
    @NotBlank(message = "手机号不能为空")
    private String phone;

    @ApiModelProperty(value = "身份证号码", required = true)
    @NotBlank(message = "身份证号码不能为空")
    private String idCardCode;

    @ApiModelProperty(value = "开户行", required = true)
    @NotBlank(message = "开户行不能为空")
    private String bankName;

    @ApiModelProperty(value = "银行卡号", required = true)
    @NotBlank(message = "银行卡号不能为空")
    private String bankCode;

    @ApiModelProperty(value = "银行开户地")
    private String bankAddress;

    @ApiModelProperty(value = "任务金额", required = true)
    @NotNull(message = "任务金额不能为空")
    private BigDecimal taskMoney;

    @ApiModelProperty(value = "创客实际到手金额", required = true)
    @NotNull(message = "创客实际到手金额不能为空")
    private BigDecimal realMoney;

    @ApiModelProperty(value = "服务费", required = true)
    @NotNull(message = "服务费不能为空")
    private BigDecimal serviceMoney;

    @ApiModelProperty(value = "服务费率", required = true)
    @NotNull(message = "服务费率不能为空")
    private BigDecimal compositeTax;

    @ApiModelProperty(value = "商户支付金额", required = true)
    @NotNull(message = "商户支付金额不能为空")
    private BigDecimal companyPayMoney;

//    @ApiModelProperty(value = "订单号，交易时的第三方订单号", required = true)
//    @NotNull(message = "订单号不能为空")
//    private String tradeNo;

    @ApiModelProperty(value = "分包支付回单")
//    @NotBlank(message = "订单明细分包支付回单不能为空")
    @URL(message = "分包支付回单-链接异常")
    private String subPackagePayment;

    @ApiModelProperty(value = "创建时间", required = true)
    @NotBlank(message = "创建时间不能为空")
    private String createDate;



}